---
created:
  source_filename: /home/runner/work/mknodes/mknodes/src/mknodes/pages/mkclasspage/__init__.py
  source_function: MkClassPage.__init__
  source_line_no: 46
hide:
- toc
icon: material/puzzle-outline
title: MkNode
---

[:fa-brands-github: Show source on GitHub](https://github.com/phil65/mknodes/blob/main/src/mknodes/basenodes/mknode/__init__.py)

### Base class for everything which can be expressed as Markup.

!!! info "Description"

    This class combines tree node functionality with markdown generation.
    Starting from the root nav (aka Docs) down to nested Markup blocks,
    the whole project can be represented by one tree.

    MkNode is the base class for all nodes. We dont instanciate it directly.
    All subclasses carry an MkAnnotations node (except the MkAnnotations node itself)
    They can also pass an `indent` as well as a `shift_header_levels` keyword argument
    in order to modify the resulting markdown.


